Type-Checking CRDT Convergence
نویسندگان
چکیده
Conflict-Free Replicated Data Types (CRDTs) are a recent approach for keeping replicated data consistent while guaranteeing the absence of conflicts among replicas. For correct operation, CRDTs rely on merge function that is commutative, associative and idempotent. Ensuring such algebraic properties satisfied by implementations, however, left to programmer, resulting in process complex error-prone. While techniques based testing, automatic verification model, mechanized or handwritten proofs available, we lack an able verify concrete CRDT implementations. In this paper, present Propel, programming language with type system captures required implementation. The Propel deduces case analysis induction: sum types guide enable induction free. Propel’s key feature its capacity reason about (a) terms rewrite rules (b) derive equality inequality expressions from properties. We provide implementation as Scala embedding, implement several CRDTs, them compare four state-of-the-art tools. Our evaluation shows automatically deduce relevant common implementations found open-source libraries even cases which competitors timeout.
منابع مشابه
File system on CRDT
In this report we show how to manage a distributed hierarchical structure representing a file system. This structure is optimistically replicated, each user work on his local replica, and updates are sent to other replica. The different replicas eventually observe same view of file systems. At this stage, conflicts between updates are very common. We claim that conflict resolution should rely a...
متن کاملBounds for the Crdt Algorithm
In [11] Driscoll and Vavasis described their CRDT algorithm for numerical computation of conformal maps from polygons to the unit disk. Although the method works well in practice, it is not proven to converge in all cases and they formulated a number of specific conjectures to quantify its behavior. In this note we prove one of these conjectures: that the initial guess of the CRDT algorithm alw...
متن کاملOn statistical type convergence in uniform spaces
The concept of ${mathscr{F}}_{st}$-fundamentality is introduced in uniform spaces, generated by some filter ${mathscr{F}}$. Its equivalence to the concept of ${mathscr{F}}$-convergence in uniform spaces is proved. This convergence generalizes many kinds of convergence, including the well-known statistical convergence.
متن کاملBounds for the Crdt Conformal Mapping Algorithm
In [16] Driscoll and Vavasis described their CRDT algorithm for numerical computation of conformal maps. Although the method works well in practice, it is not proven to converge and they formulated a number of conjectures to quantify its behavior. In this paper we prove one of these conjectures: that the initial guess of the CRDT algorithm always lies within a uniformly bounded distance of the ...
متن کاملAbstract unordered and ordered trees CRDT
Trees are fundamental data structure for many areas of computer science and system engineering. In this report, we show how to ensure eventual consistency of optimistically replicated trees. In optimistic replication, the different replicas of a distributed system are allowed to diverge but should eventually reach the same value if no more mutations occur. A new method to ensure eventual consis...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2023
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3591276